﻿//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.34014
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace ESGRatingsImport.CacheServer {
    using System;
    using System.Runtime.Serialization;
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.FlagsAttribute()]
    [System.Runtime.Serialization.DataContractAttribute(Name="PeerGroupType", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.Model.C" +
        "ache")]
    public enum PeerGroupType : byte {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Public = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        TypeA = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        TypeB = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Private = 8,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="TopInClassType", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.Model.C" +
        "ache")]
    public enum TopInClassType : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Best = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Worst = 2,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ScoreQueryResult", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.QueryRe" +
        "sults")]
    [System.SerializableAttribute()]
    public partial class ScoreQueryResult : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private string[] ColumnNamesField;
        
        private int IndicatorColumnIndexField;
        
        private int TopicColumnIndexField;
        
        private ESGRatingsImport.CacheServer.WeightMatrixScore[] WeightMatricesScoresField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string[] ColumnNames {
            get {
                return this.ColumnNamesField;
            }
            set {
                if ((object.ReferenceEquals(this.ColumnNamesField, value) != true)) {
                    this.ColumnNamesField = value;
                    this.RaisePropertyChanged("ColumnNames");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public int IndicatorColumnIndex {
            get {
                return this.IndicatorColumnIndexField;
            }
            set {
                if ((this.IndicatorColumnIndexField.Equals(value) != true)) {
                    this.IndicatorColumnIndexField = value;
                    this.RaisePropertyChanged("IndicatorColumnIndex");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public int TopicColumnIndex {
            get {
                return this.TopicColumnIndexField;
            }
            set {
                if ((this.TopicColumnIndexField.Equals(value) != true)) {
                    this.TopicColumnIndexField = value;
                    this.RaisePropertyChanged("TopicColumnIndex");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public ESGRatingsImport.CacheServer.WeightMatrixScore[] WeightMatricesScores {
            get {
                return this.WeightMatricesScoresField;
            }
            set {
                if ((object.ReferenceEquals(this.WeightMatricesScoresField, value) != true)) {
                    this.WeightMatricesScoresField = value;
                    this.RaisePropertyChanged("WeightMatricesScores");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="WeightMatrixScore", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.QueryRe" +
        "sults")]
    [System.SerializableAttribute()]
    public partial class WeightMatrixScore : ESGRatingsImport.CacheServer.ScoreBase {
        
        private System.Guid CompanyIDField;
        
        private System.Nullable<float> EmployeeCountField;
        
        private System.Nullable<float> EmployeeCountAverageField;
        
        private int IndicatorScoreIndexField;
        
        private System.Nullable<float> MarketCapField;
        
        private System.Nullable<float> MarketCapAverageField;
        
        private int TopicScoreIndexField;
        
        private float[] m_averagesField;
        
        private string[] m_columnNamesField;
        
        private float[] m_countsField;
        
        private float[] m_maxesField;
        
        private float[] m_minsField;
        
        private float[] m_ranksField;
        
        private float[] m_scoresField;
        
        private float[] m_weightedScoresField;
        
        private float[] m_weightsField;
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Guid CompanyID {
            get {
                return this.CompanyIDField;
            }
            set {
                if ((this.CompanyIDField.Equals(value) != true)) {
                    this.CompanyIDField = value;
                    this.RaisePropertyChanged("CompanyID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Nullable<float> EmployeeCount {
            get {
                return this.EmployeeCountField;
            }
            set {
                if ((this.EmployeeCountField.Equals(value) != true)) {
                    this.EmployeeCountField = value;
                    this.RaisePropertyChanged("EmployeeCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Nullable<float> EmployeeCountAverage {
            get {
                return this.EmployeeCountAverageField;
            }
            set {
                if ((this.EmployeeCountAverageField.Equals(value) != true)) {
                    this.EmployeeCountAverageField = value;
                    this.RaisePropertyChanged("EmployeeCountAverage");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public int IndicatorScoreIndex {
            get {
                return this.IndicatorScoreIndexField;
            }
            set {
                if ((this.IndicatorScoreIndexField.Equals(value) != true)) {
                    this.IndicatorScoreIndexField = value;
                    this.RaisePropertyChanged("IndicatorScoreIndex");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Nullable<float> MarketCap {
            get {
                return this.MarketCapField;
            }
            set {
                if ((this.MarketCapField.Equals(value) != true)) {
                    this.MarketCapField = value;
                    this.RaisePropertyChanged("MarketCap");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Nullable<float> MarketCapAverage {
            get {
                return this.MarketCapAverageField;
            }
            set {
                if ((this.MarketCapAverageField.Equals(value) != true)) {
                    this.MarketCapAverageField = value;
                    this.RaisePropertyChanged("MarketCapAverage");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public int TopicScoreIndex {
            get {
                return this.TopicScoreIndexField;
            }
            set {
                if ((this.TopicScoreIndexField.Equals(value) != true)) {
                    this.TopicScoreIndexField = value;
                    this.RaisePropertyChanged("TopicScoreIndex");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_averages {
            get {
                return this.m_averagesField;
            }
            set {
                if ((object.ReferenceEquals(this.m_averagesField, value) != true)) {
                    this.m_averagesField = value;
                    this.RaisePropertyChanged("m_averages");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string[] m_columnNames {
            get {
                return this.m_columnNamesField;
            }
            set {
                if ((object.ReferenceEquals(this.m_columnNamesField, value) != true)) {
                    this.m_columnNamesField = value;
                    this.RaisePropertyChanged("m_columnNames");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_counts {
            get {
                return this.m_countsField;
            }
            set {
                if ((object.ReferenceEquals(this.m_countsField, value) != true)) {
                    this.m_countsField = value;
                    this.RaisePropertyChanged("m_counts");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_maxes {
            get {
                return this.m_maxesField;
            }
            set {
                if ((object.ReferenceEquals(this.m_maxesField, value) != true)) {
                    this.m_maxesField = value;
                    this.RaisePropertyChanged("m_maxes");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_mins {
            get {
                return this.m_minsField;
            }
            set {
                if ((object.ReferenceEquals(this.m_minsField, value) != true)) {
                    this.m_minsField = value;
                    this.RaisePropertyChanged("m_mins");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_ranks {
            get {
                return this.m_ranksField;
            }
            set {
                if ((object.ReferenceEquals(this.m_ranksField, value) != true)) {
                    this.m_ranksField = value;
                    this.RaisePropertyChanged("m_ranks");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_scores {
            get {
                return this.m_scoresField;
            }
            set {
                if ((object.ReferenceEquals(this.m_scoresField, value) != true)) {
                    this.m_scoresField = value;
                    this.RaisePropertyChanged("m_scores");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_weightedScores {
            get {
                return this.m_weightedScoresField;
            }
            set {
                if ((object.ReferenceEquals(this.m_weightedScoresField, value) != true)) {
                    this.m_weightedScoresField = value;
                    this.RaisePropertyChanged("m_weightedScores");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float[] m_weights {
            get {
                return this.m_weightsField;
            }
            set {
                if ((object.ReferenceEquals(this.m_weightsField, value) != true)) {
                    this.m_weightsField = value;
                    this.RaisePropertyChanged("m_weights");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ScoreBase", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.QueryRe" +
        "sults")]
    [System.SerializableAttribute()]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(ESGRatingsImport.CacheServer.WeightMatrixScore))]
    public partial class ScoreBase : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private float AverageField;
        
        private int CountField;
        
        private float MaxField;
        
        private float MinField;
        
        private System.Nullable<float> PercentRankField;
        
        private int RankField;
        
        private float ScoreField;
        
        private float WeightField;
        
        private float WeightedScoreField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float Average {
            get {
                return this.AverageField;
            }
            set {
                if ((this.AverageField.Equals(value) != true)) {
                    this.AverageField = value;
                    this.RaisePropertyChanged("Average");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public int Count {
            get {
                return this.CountField;
            }
            set {
                if ((this.CountField.Equals(value) != true)) {
                    this.CountField = value;
                    this.RaisePropertyChanged("Count");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float Max {
            get {
                return this.MaxField;
            }
            set {
                if ((this.MaxField.Equals(value) != true)) {
                    this.MaxField = value;
                    this.RaisePropertyChanged("Max");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float Min {
            get {
                return this.MinField;
            }
            set {
                if ((this.MinField.Equals(value) != true)) {
                    this.MinField = value;
                    this.RaisePropertyChanged("Min");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Nullable<float> PercentRank {
            get {
                return this.PercentRankField;
            }
            set {
                if ((this.PercentRankField.Equals(value) != true)) {
                    this.PercentRankField = value;
                    this.RaisePropertyChanged("PercentRank");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public int Rank {
            get {
                return this.RankField;
            }
            set {
                if ((this.RankField.Equals(value) != true)) {
                    this.RankField = value;
                    this.RaisePropertyChanged("Rank");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float Score {
            get {
                return this.ScoreField;
            }
            set {
                if ((this.ScoreField.Equals(value) != true)) {
                    this.ScoreField = value;
                    this.RaisePropertyChanged("Score");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float Weight {
            get {
                return this.WeightField;
            }
            set {
                if ((this.WeightField.Equals(value) != true)) {
                    this.WeightField = value;
                    this.RaisePropertyChanged("Weight");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float WeightedScore {
            get {
                return this.WeightedScoreField;
            }
            set {
                if ((this.WeightedScoreField.Equals(value) != true)) {
                    this.WeightedScoreField = value;
                    this.RaisePropertyChanged("WeightedScore");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CompaniesIndicatorsData", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.QueryRe" +
        "sults")]
    [System.SerializableAttribute()]
    public partial class CompaniesIndicatorsData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private string[] AnswerCategoriesField;
        
        private byte[] AnswerCategoriesScoresField;
        
        private System.Collections.Generic.Dictionary<System.Guid, ushort[]> CompaniesDataField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public string[] AnswerCategories {
            get {
                return this.AnswerCategoriesField;
            }
            set {
                if ((object.ReferenceEquals(this.AnswerCategoriesField, value) != true)) {
                    this.AnswerCategoriesField = value;
                    this.RaisePropertyChanged("AnswerCategories");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public byte[] AnswerCategoriesScores {
            get {
                return this.AnswerCategoriesScoresField;
            }
            set {
                if ((object.ReferenceEquals(this.AnswerCategoriesScoresField, value) != true)) {
                    this.AnswerCategoriesScoresField = value;
                    this.RaisePropertyChanged("AnswerCategoriesScores");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public System.Collections.Generic.Dictionary<System.Guid, ushort[]> CompaniesData {
            get {
                return this.CompaniesDataField;
            }
            set {
                if ((object.ReferenceEquals(this.CompaniesDataField, value) != true)) {
                    this.CompaniesDataField = value;
                    this.RaisePropertyChanged("CompaniesData");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="GroupAverages", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.QueryRe" +
        "sults")]
    [System.SerializableAttribute()]
    public partial struct GroupAverages : System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private float PortfolioAverageField;
        
        private float UniverseAverageField;
        
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float PortfolioAverage {
            get {
                return this.PortfolioAverageField;
            }
            set {
                if ((this.PortfolioAverageField.Equals(value) != true)) {
                    this.PortfolioAverageField = value;
                    this.RaisePropertyChanged("PortfolioAverage");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
        public float UniverseAverage {
            get {
                return this.UniverseAverageField;
            }
            set {
                if ((this.UniverseAverageField.Equals(value) != true)) {
                    this.UniverseAverageField = value;
                    this.RaisePropertyChanged("UniverseAverage");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.FlagsAttribute()]
    [System.Runtime.Serialization.DataContractAttribute(Name="ReportPerformanceCounterType", Namespace="http://schemas.datacontract.org/2004/07/ShareDimension.DSRSystemReporting.QueryRe" +
        "sults")]
    public enum ReportPerformanceCounterType : byte {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        ClientCompanyReport = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        ClientComparativeReport = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        All = 3,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://sharedimension.com/dsrsystemreporting", ConfigurationName="CacheServer.IDSRSystemReportExecution")]
    public interface IDSRSystemReportExecution {
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "he", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "heResponse")]
        bool RefreshCache();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "he", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "heResponse")]
        System.Threading.Tasks.Task<bool> RefreshCacheAsync();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "heSync", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "heSyncResponse")]
        void RefreshCacheSync();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "heSync", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/RefreshCac" +
            "heSyncResponse")]
        System.Threading.Tasks.Task RefreshCacheSyncAsync();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IsCacheAva" +
            "ilable", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IsCacheAva" +
            "ilableResponse")]
        bool IsCacheAvailable();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IsCacheAva" +
            "ilable", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IsCacheAva" +
            "ilableResponse")]
        System.Threading.Tasks.Task<bool> IsCacheAvailableAsync();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroups", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroupsResponse")]
        byte[] GetCompanyRatingsByPeerGroups(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroups", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroupsResponse")]
        System.Threading.Tasks.Task<byte[]> GetCompanyRatingsByPeerGroupsAsync(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroups", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroupsResponse")]
        byte[] GetCompanyRatingsByIndustryGroups(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroups", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroupsResponse")]
        System.Threading.Tasks.Task<byte[]> GetCompanyRatingsByIndustryGroupsAsync(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsData", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsDataResponse")]
        byte[] GetCompaniesIndicatorsData(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsData", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsDataResponse")]
        System.Threading.Tasks.Task<byte[]> GetCompaniesIndicatorsDataAsync(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroups2", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroups2Response")]
        ESGRatingsImport.CacheServer.ScoreQueryResult GetCompanyRatingsByPeerGroups2(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroups2", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByPeerGroups2Response")]
        System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.ScoreQueryResult> GetCompanyRatingsByPeerGroups2Async(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroups2", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroups2Response")]
        ESGRatingsImport.CacheServer.ScoreQueryResult GetCompanyRatingsByIndustryGroups2(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroups2", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompany" +
            "RatingsByIndustryGroups2Response")]
        System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.ScoreQueryResult> GetCompanyRatingsByIndustryGroups2Async(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsData2", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsData2Response")]
        ESGRatingsImport.CacheServer.CompaniesIndicatorsData GetCompaniesIndicatorsData2(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsData2", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetCompani" +
            "esIndicatorsData2Response")]
        System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.CompaniesIndicatorsData> GetCompaniesIndicatorsData2Async(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetAverege" +
            "sInGroup", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetAverege" +
            "sInGroupResponse")]
        ESGRatingsImport.CacheServer.GroupAverages GetAveregesInGroup(System.Guid matrixId, System.Guid defaultReferenceUniverseId, System.Guid[] portfolioCompaniesIds);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetAverege" +
            "sInGroup", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/GetAverege" +
            "sInGroupResponse")]
        System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.GroupAverages> GetAveregesInGroupAsync(System.Guid matrixId, System.Guid defaultReferenceUniverseId, System.Guid[] portfolioCompaniesIds);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IncrementP" +
            "erformanceCounter", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IncrementP" +
            "erformanceCounterResponse")]
        void IncrementPerformanceCounter(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IncrementP" +
            "erformanceCounter", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/IncrementP" +
            "erformanceCounterResponse")]
        System.Threading.Tasks.Task IncrementPerformanceCounterAsync(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/DecrementP" +
            "erformanceCounter", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/DecrementP" +
            "erformanceCounterResponse")]
        void DecrementPerformanceCounter(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/DecrementP" +
            "erformanceCounter", ReplyAction="http://sharedimension.com/dsrsystemreporting/IDSRSystemReportExecution/DecrementP" +
            "erformanceCounterResponse")]
        System.Threading.Tasks.Task DecrementPerformanceCounterAsync(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IDSRSystemReportExecutionChannel : ESGRatingsImport.CacheServer.IDSRSystemReportExecution, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class DSRSystemReportExecutionClient : System.ServiceModel.ClientBase<ESGRatingsImport.CacheServer.IDSRSystemReportExecution>, ESGRatingsImport.CacheServer.IDSRSystemReportExecution {
        
        public DSRSystemReportExecutionClient() {
        }
        
        public DSRSystemReportExecutionClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public DSRSystemReportExecutionClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DSRSystemReportExecutionClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DSRSystemReportExecutionClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public bool RefreshCache() {
            return base.Channel.RefreshCache();
        }
        
        public System.Threading.Tasks.Task<bool> RefreshCacheAsync() {
            return base.Channel.RefreshCacheAsync();
        }
        
        public void RefreshCacheSync() {
            base.Channel.RefreshCacheSync();
        }
        
        public System.Threading.Tasks.Task RefreshCacheSyncAsync() {
            return base.Channel.RefreshCacheSyncAsync();
        }
        
        public bool IsCacheAvailable() {
            return base.Channel.IsCacheAvailable();
        }
        
        public System.Threading.Tasks.Task<bool> IsCacheAvailableAsync() {
            return base.Channel.IsCacheAvailableAsync();
        }
        
        public byte[] GetCompanyRatingsByPeerGroups(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByPeerGroups(companyIds, referenceUniverseIds, weightMatrixId, peerGroupType, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public System.Threading.Tasks.Task<byte[]> GetCompanyRatingsByPeerGroupsAsync(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByPeerGroupsAsync(companyIds, referenceUniverseIds, weightMatrixId, peerGroupType, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public byte[] GetCompanyRatingsByIndustryGroups(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByIndustryGroups(companyIds, referenceUniverseIds, weightMatrixId, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public System.Threading.Tasks.Task<byte[]> GetCompanyRatingsByIndustryGroupsAsync(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByIndustryGroupsAsync(companyIds, referenceUniverseIds, weightMatrixId, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public byte[] GetCompaniesIndicatorsData(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores) {
            return base.Channel.GetCompaniesIndicatorsData(companiesIds, templateIndicatorsIds, includeScores);
        }
        
        public System.Threading.Tasks.Task<byte[]> GetCompaniesIndicatorsDataAsync(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores) {
            return base.Channel.GetCompaniesIndicatorsDataAsync(companiesIds, templateIndicatorsIds, includeScores);
        }
        
        public ESGRatingsImport.CacheServer.ScoreQueryResult GetCompanyRatingsByPeerGroups2(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByPeerGroups2(companyIds, referenceUniverseIds, weightMatrixId, peerGroupType, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.ScoreQueryResult> GetCompanyRatingsByPeerGroups2Async(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, ESGRatingsImport.CacheServer.PeerGroupType peerGroupType, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByPeerGroups2Async(companyIds, referenceUniverseIds, weightMatrixId, peerGroupType, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public ESGRatingsImport.CacheServer.ScoreQueryResult GetCompanyRatingsByIndustryGroups2(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByIndustryGroups2(companyIds, referenceUniverseIds, weightMatrixId, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.ScoreQueryResult> GetCompanyRatingsByIndustryGroups2Async(System.Guid[] companyIds, System.Guid[] referenceUniverseIds, System.Guid weightMatrixId, System.Guid groupId, int topInClassPercent, ESGRatingsImport.CacheServer.TopInClassType topInClassType, bool compressResult) {
            return base.Channel.GetCompanyRatingsByIndustryGroups2Async(companyIds, referenceUniverseIds, weightMatrixId, groupId, topInClassPercent, topInClassType, compressResult);
        }
        
        public ESGRatingsImport.CacheServer.CompaniesIndicatorsData GetCompaniesIndicatorsData2(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores) {
            return base.Channel.GetCompaniesIndicatorsData2(companiesIds, templateIndicatorsIds, includeScores);
        }
        
        public System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.CompaniesIndicatorsData> GetCompaniesIndicatorsData2Async(System.Guid[] companiesIds, System.Guid[] templateIndicatorsIds, bool includeScores) {
            return base.Channel.GetCompaniesIndicatorsData2Async(companiesIds, templateIndicatorsIds, includeScores);
        }
        
        public ESGRatingsImport.CacheServer.GroupAverages GetAveregesInGroup(System.Guid matrixId, System.Guid defaultReferenceUniverseId, System.Guid[] portfolioCompaniesIds) {
            return base.Channel.GetAveregesInGroup(matrixId, defaultReferenceUniverseId, portfolioCompaniesIds);
        }
        
        public System.Threading.Tasks.Task<ESGRatingsImport.CacheServer.GroupAverages> GetAveregesInGroupAsync(System.Guid matrixId, System.Guid defaultReferenceUniverseId, System.Guid[] portfolioCompaniesIds) {
            return base.Channel.GetAveregesInGroupAsync(matrixId, defaultReferenceUniverseId, portfolioCompaniesIds);
        }
        
        public void IncrementPerformanceCounter(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType) {
            base.Channel.IncrementPerformanceCounter(reportPerformanceCounterType);
        }
        
        public System.Threading.Tasks.Task IncrementPerformanceCounterAsync(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType) {
            return base.Channel.IncrementPerformanceCounterAsync(reportPerformanceCounterType);
        }
        
        public void DecrementPerformanceCounter(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType) {
            base.Channel.DecrementPerformanceCounter(reportPerformanceCounterType);
        }
        
        public System.Threading.Tasks.Task DecrementPerformanceCounterAsync(ESGRatingsImport.CacheServer.ReportPerformanceCounterType reportPerformanceCounterType) {
            return base.Channel.DecrementPerformanceCounterAsync(reportPerformanceCounterType);
        }
    }
}
